home *** CD-ROM | disk | FTP | other *** search
AMOS Source Code | 1992-09-29 | 1.5 KB | 54 lines |
- '*******************************************************
- '* *
- '* AMOS Professional Procedure Library *
- '* *
- '* Procedure: Polygon Drawer *
- '* *
- '* Author: David Templar *
- '* *
- '*******************************************************
-
- ' Syntax : _POLYGON[_XCOOR,_YCOOR,_POINTS,_XSIZE,_YSIZE,_ANGLE,_FILLED]
-
- Screen Open 0,320,200,16,Lowres
- Curs Off : Flash Off : Paper 0 : Cls 0
- Ink 2,6
- X=25
- For R=1 To 7
- _POLYGON[X,25,4,20,20,38+(R*7),1]
- Add X,45
- Next R
- Set Pattern 18
- _POLYGON[160,120,8,70,70,0,1]
- _POLYGON[50,120,5,30,30,54,0]
- For R=1 To 10
- _POLYGON[270,120,3,35,35,R*12,0]
- Next R
-
- Procedure _POLYGON[_XCOOR,_YCOOR,_POINTS,_XSIZE,_YSIZE,_ANGLE,_FILLED]
- Degree
- If _POINTS<3
- _POINTS=3
- End If
- If _POINTS>360
- _POINTS=360
- End If
- If _FILLED<0 or _FILLED>1
- _FILLED=0
- End If
- For R=0+_ANGLE To 359+_ANGLE Step 360/_POINTS
- X1=_XCOOR+Cos(R)*_XSIZE
- X2=_XCOOR+Cos(R+360/_POINTS)*_XSIZE
- Y1=_YCOOR+Sin(R)*_YSIZE
- Y2=_YCOOR+Sin(R+360/_POINTS)*_YSIZE
- If R=0+_ANGLE
- Plot X1,Y1
- End If
- If _FILLED=0
- Polyline X1,Y1 To X2,Y2
- End If
- If _FILLED=1
- Polygon _XCOOR,_YCOOR To X1,Y1 To X2,Y2 To _XCOOR,_YCOOR
- End If
- Next R
- End Proc